package com.shop.cereshop.commons.service.config;

import com.shop.cereshop.commons.constant.ConfigConstants;
import com.shop.cereshop.commons.utils.SpringUtil;
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.StringRedisTemplate;

/**
 * 系统参数读取帮助类（所有端可直接使用）
 */
public class SysConfigHelper {

    private static StringRedisTemplate stringRedisTemplate() {
        return SpringUtil.getBean(StringRedisTemplate.class);
    }

    /**
     * 根据 key 获取配置参数值
     *
     * @param configKey 参数键名
     * @return 参数值（可能为 null）
     */
    public static String getConfigValue(String configKey) {
        if (configKey == null) {
            return null;
        }
        HashOperations<String, String, String> ops = stringRedisTemplate().opsForHash();
        return ops.get(ConfigConstants.SYS_CONFIG_CACHE_KEY, configKey);
    }

    /**
     * 根据 key 获取配置参数值，带默认值
     */
    public static String getConfigValue(String configKey, String defaultValue) {
        String value = getConfigValue(configKey);
        return value != null ? value : defaultValue;
    }
}


